package com.itheima.d1_properties;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
import java.util.Set;

/**
 * 目标：掌握使用Properties类读取属性文件中的键值对信息。
 */
public class PropertiesTest1 {
    public static void main(String[] args) {
        // 1、创建一个Properties的对象出来（键值对集合，空容器）
        Properties properties = new Properties();
        System.out.println("properties = " + properties);


        // 2、开始加载属性文件中的键值对数据到properties对象中去
        try (FileInputStream fis = new FileInputStream("day11properties-xml-log-thread/db.properties")) {
            //使用load()方法传入输入流，加载属性文件的数据到对象中
            properties.load(fis);
        } catch (IOException e) {
            e.printStackTrace();
        }

        System.out.println("properties = " + properties);


        // 3、根据键取值
        //获取用户名
        String username = properties.getProperty("username");
        System.out.println("username = " + username);
        //获取密码
        String password = properties.getProperty("password"); //相当于get
        System.out.println("password = " + password);


        // 4、遍历全部的键和值
        Set<String> keys = properties.stringPropertyNames(); //相当于keySet
        for (String key : keys) {
            String value = properties.getProperty(key);
            System.out.println(key + "=" + value);
        }
    }
}
